package com.dms.modules.merchant.service;

import com.dms.modules.merchant.model.MerchantSalesStats;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * 商家统计服务接口
 */
public interface MerchantStatisticsService {
    
    /**
     * 获取商家销售统计
     * @param merchantId 商家ID，如果为null则统计所有商家
     * @return 销售统计数据
     */
    Map<String, Object> getMerchantSalesStatistics(Long merchantId);
    
    /**
     * 根据用户ID获取商家销售统计
     * @param userId 用户ID
     * @return 销售统计数据
     */
    Map<String, Object> getMerchantSalesStatisticsByUserId(Long userId);
    
    /**
     * 获取商家订单完成率
     * @param merchantId 商家ID
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 订单完成率（百分比）
     */
    Integer getOrderCompletionRate(Long merchantId, LocalDateTime startTime, LocalDateTime endTime);
    
    /**
     * 根据用户ID获取商家订单完成率
     * @param userId 用户ID
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 订单完成率（百分比）
     */
    Integer getOrderCompletionRateByUserId(Long userId, LocalDateTime startTime, LocalDateTime endTime);
    
    /**
     * 获取商家销售统计数据
     * @param merchantId 商家ID
     * @return 销售统计数据
     */
    MerchantSalesStats getMerchantSalesStats(Long merchantId);
} 